package com.gzxx.service;

import com.gzxx.domain.base.BaseVo;
import com.gzxx.domain.bo.SysDeptBO;
import com.gzxx.domain.vo.SysDeptVo;
import com.gzxx.util.ServerResponse;

import java.util.List;

/**
 * SysDeptService
 *
 * @author chenjing
 * @date 2020-09-22 17:43:19
 */
public interface SysDeptService {

    /**
     * 列表
     */
    List<SysDeptVo> list(SysDeptBO sysDeptBO);

    /**
     * 详情
     */
    SysDeptVo getDetail(Long id);

    /**
     * 新增
     */
    ServerResponse add(SysDeptBO sysDeptBO);

    /**
     * 更新
     */
    ServerResponse update(SysDeptBO sysDeptBO);

    /**
     * 变更状态
     */
    ServerResponse changeStatus(SysDeptBO sysDeptBO);

    /**
     * 根据用户获取部门
     */
    List<SysDeptVo> getByUserId(Long userId);

    /**
     * 获取部门 树形
     */
    List<BaseVo> treeList();

    /**
     * 根据id批量获取
     */
    List<BaseVo> getBaseVoByIds(List<Long> id);
}

